package vistasOficinaVenta;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

import RMIClient.RMIClientCSR;
import beans.ClienteBean;
import beans.DireccionBean;
import beans.OficinaVentaBean;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class JFrameAltaCliente extends javax.swing.JInternalFrame {

	{
		try {
			javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}


	private static final long serialVersionUID = 1L;
	private JButton btnAceptar;
	private JButton btnCancelar;
	private JTextField txtDireccion;
	private JTextField txtIngresosBrutos;
	private JTextField txtCondicionVenta;
	private JTextField txtTipoFactura;
	private JLabel lblIVARespIns;
	private JLabel lblDireccion;
	private JLabel lblIngresosBrutos;
	private JLabel lblCondicionVenta;
	private JLabel lblTipoFactura;
	private JLabel jLabelODV;
	private JTextField txtPorcentajeDescuento;
	private JLabel lblCodPostal;
	private JTextField txtCodPostal;
	private JTextField txtAltura;
	private JLabel lblAltura;
	private JTextField txtIVARespIns;
	private JComboBox jComboBoxODV;
	private JLabel lblDescuento;
	private JTextField txtNombre;
	private JLabel lblNombre;
	private JTextField txtCUIT;
	private JLabel lblCUIT;
	private static JFrameAltaCliente instancia;

	/**
	* Auto-generated main method to display this 
	* JInternalFrame inside a new JFrame.
	*/
	
	public static JFrameAltaCliente getInstancia(){
		if (instancia==null){
			instancia = new JFrameAltaCliente();
		}
		return instancia;
	}
	
	public JFrameAltaCliente() {
		super();
		initGUI();
	}
	
    
    public void cargarODV(){
        List<OficinaVentaBean> oficinas= RMIClientCSR.getInstancia().cargarComboODV();
        for (OficinaVentaBean odvBean:oficinas){
            this.jComboBoxODV.addItem(odvBean.getSucursal());
        }
    }
	
	private void initGUI() {
		try {
			this.setPreferredSize(new java.awt.Dimension(400, 422));
			this.setBounds(0, 0, 400, 422);
			setVisible(true);
			this.setTitle("Alta de Cliente");
			getContentPane().setLayout(null);
			this.setSize(400, 400);
			{
				btnAceptar = new JButton();
				getContentPane().add(btnAceptar, "Center");
				btnAceptar.setText("Aceptar");
				btnAceptar.setBounds(71, 325, 98, 26);
				btnAceptar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						if(validar()){
							ClienteBean clienteBean = new ClienteBean();
							DireccionBean direccionBean = new DireccionBean();
							clienteBean.setCuit(txtCUIT.getText());
							Float pjeDto = new Float("0");
							try{pjeDto = Float.parseFloat(txtPorcentajeDescuento.getText());}catch(Exception e){JOptionPane.showMessageDialog(JFrameAltaCliente.getInstancia(),"Porcentaje debe ser un numero");return;}
							if(pjeDto>100 || pjeDto<0){
								JOptionPane.showMessageDialog(JFrameAltaCliente.getInstancia(),"Porcentaje debe ser un numero entre 0 y 100");
								return;
							}							
							clienteBean.setDescuento(pjeDto);
							clienteBean.setNombreEmpresa(txtNombre.getText());
							clienteBean.setTipoDeFacturaPorDefecto(String.valueOf(txtTipoFactura.getText()));
							clienteBean.setCondicionVenta(txtCondicionVenta.getText());
							clienteBean.setIngresosBrutos(Integer.parseInt(txtIngresosBrutos.getText()));
							direccionBean.setDireccion(txtDireccion.getText());
							direccionBean.setCodigoPostal(Integer.parseInt(txtCodPostal.getText()));
							direccionBean.setNumeroAltura(Integer.parseInt(txtAltura.getText()));
							
									
							//cargarNombreSearch(clienteBean);
							RMIClientCSR.getInstancia().altaCliente(clienteBean);
							JOptionPane.showMessageDialog(JFrameAltaCliente.getInstancia(),"El cliente se ha grabado exitosamente");
								
						}else
							JOptionPane.showMessageDialog(JFrameAltaCliente.getInstancia(),"Todos los campos son obligatorios");

					}
				}
						);
			}
			{
				btnCancelar = new JButton();
				getContentPane().add(btnCancelar);
				btnCancelar.setText("Cancelar");
				btnCancelar.setBounds(188, 325, 107, 26);
				btnCancelar.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						dispose();
					}
				});
			}
			{
				lblCUIT = new JLabel();
				getContentPane().add(lblCUIT);
				lblCUIT.setText("CUIT: ");
				lblCUIT.setBounds(37, 19, 132, 14);
			}
			{
				txtCUIT = new JTextField();
				getContentPane().add(txtCUIT);
				txtCUIT.setBounds(179, 16, 166, 21);
			}
			{
				lblNombre = new JLabel();
				getContentPane().add(lblNombre);
				lblNombre.setText("Nombre Empresa:");
				lblNombre.setBounds(34, 46, 145, 16);
			}
			{
				txtNombre = new JTextField();
				getContentPane().add(txtNombre);
				txtNombre.setBounds(179, 43, 166, 23);
			}
			{
				lblDescuento = new JLabel();
				getContentPane().add(lblDescuento);
				lblDescuento.setText("Porcentaje Descuento:");
				lblDescuento.setBounds(34, 75, 145, 16);
			}
			{
				txtPorcentajeDescuento = new JTextField();
				getContentPane().add(txtPorcentajeDescuento);
				txtPorcentajeDescuento.setBounds(179, 72, 166, 23);
			}
			{
				jLabelODV = new JLabel();
				getContentPane().add(jLabelODV);
				jLabelODV.setText("Oficina de Ventas:");
				jLabelODV.setBounds(34, 278, 145, 16);
			}
			
			{
				ComboBoxModel jComboBox1Model2 = 
						new DefaultComboBoxModel(
								new String[] {});
				jComboBoxODV = new JComboBox();
				getContentPane().add(jComboBoxODV);
				jComboBoxODV.setModel(jComboBox1Model2);
				jComboBoxODV.setBounds(178, 276, 166, 21);
			}
			{
				lblTipoFactura = new JLabel();
				getContentPane().add(lblTipoFactura);
				lblTipoFactura.setText("Tipo de Factura:");
				lblTipoFactura.setBounds(34, 102, 145, 14);
			}
			{
				lblCondicionVenta = new JLabel();
				getContentPane().add(lblCondicionVenta);
				lblCondicionVenta.setText("Condicion de Venta:");
				lblCondicionVenta.setBounds(34, 127, 145, 14);
			}
			{
				lblIngresosBrutos = new JLabel();
				getContentPane().add(lblIngresosBrutos);
				lblIngresosBrutos.setText("Ingresos Brutos:");
				lblIngresosBrutos.setBounds(34, 152, 145, 14);
			}
			{
				lblDireccion = new JLabel();
				getContentPane().add(lblDireccion);
				lblDireccion.setText("Direccion: ");
				lblDireccion.setBounds(34, 177, 145, 14);
			}
			{
				lblIVARespIns = new JLabel();
				getContentPane().add(lblIVARespIns);
				lblIVARespIns.setText("IVA Responsable Inscripto:");
				lblIVARespIns.setBounds(34, 253, 145, 14);
			}
			{
				txtTipoFactura = new JTextField();
				getContentPane().add(txtTipoFactura);
				txtTipoFactura.setBounds(179, 99, 166, 20);
			}
			{
				txtCondicionVenta = new JTextField();
				getContentPane().add(txtCondicionVenta);
				txtCondicionVenta.setBounds(179, 124, 166, 20);
			}
			{
				txtIngresosBrutos = new JTextField();
				getContentPane().add(txtIngresosBrutos);
				txtIngresosBrutos.setBounds(179, 149, 166, 20);
			}
			{
				txtDireccion = new JTextField();
				getContentPane().add(txtDireccion);
				txtDireccion.setBounds(179, 174, 166, 20);
			}
			{
				txtIVARespIns = new JTextField();
				getContentPane().add(txtIVARespIns);
				txtIVARespIns.setBounds(178, 250, 166, 20);
			}
			{
				lblAltura = new JLabel();
				getContentPane().add(lblAltura);
				lblAltura.setText("Altura:");
				lblAltura.setBounds(34, 202, 33, 14);
			}
			{
				txtAltura = new JTextField();
				getContentPane().add(txtAltura);
				txtAltura.setBounds(179, 199, 166, 20);
			}
			{
				lblCodPostal = new JLabel();
				getContentPane().add(lblCodPostal);
				lblCodPostal.setText("Codigo Postal: ");
				lblCodPostal.setBounds(34, 227, 145, 14);
			}
			{
				txtCodPostal = new JTextField();
				getContentPane().add(txtCodPostal);
				txtCodPostal.setBounds(179, 224, 166, 20);
			}
			cargarODV();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	/*
	private void cargarNombreSearch(OficinaVentaBean oficinaVentaBean){
		String odv = ((String)jComboBoxODV.getSelectedItem());
		OficinaVentaBean.setNombreEmpresa(odv.substring(0));
	}
	*/
	
	private boolean validar() {
		if("".equalsIgnoreCase(txtCUIT.getText()) || "".equalsIgnoreCase(txtPorcentajeDescuento.getText())
				|| "".equalsIgnoreCase(txtNombre.getText()))
			return false;
		else
			return true;
	}
		
		


}